package demo3;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

@Component
public class Person {
    /*
    @Autowired
    private Shirt shirt;
    @Autowired
    private Sweater sweater;
     */
    @Autowired
    @Qualifier("winter")
    private Clothes clothes;
    public void play(){
        //穿上衣服出去玩
        clothes.wear();
        System.out.println("出去玩");
    }
}
/*
            Person的play方法执行过程中需要使用到Shirt的wear方法完成某些逻辑
            这意味着Person类需要【依赖】Shirt

            原本我们写代码，当我们需要使用一个类时，我们会实例化，该操作又带来了
            硬编码，如果后期需要使用其他类(不再使用Shirt),这里还要修改代码

            在Spring容器中的建议:
            如果当前类受容器管理，那么这个类如果还依赖其他类时，应当将依赖的类作为
            【属性】定义，并由容器将需要使用的类设置到属性上供其使用
         */
